package com.ruicar.afs.cloud.common.modules.dto.mq.loan.gpsdto;

import com.ruicar.afs.cloud.bizcommon.dto.rules.atom.AfsRuleInfoDto;
import com.ruicar.afs.cloud.bizcommon.rules.entity.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author yk.Li
 * @Date 2020/7/22
 * @description GPS安装规则配置
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LoanGpsRuleDTO {
    /**
     * GPS规则表
     */
    private LoanGpsRuleInfoDTO loanGpsRuleInfoDTO;
    /**
     * 规则信息表
     */
    private AfsRuleInfoDto afsRuleInfoDto;

    /**
     * 规则转换为可执行表达式记录
     */
    private List<AfsRuleTransExpress> afsRuleTransExpress;

    /**
     * 规则输出映射表
     */
    private AfsRuleResultMapping afsRuleResultMapping;

    /**
     * 规则配置项信息
     */
    private List<AfsRuleItem> afsRuleItem;

    /**
     * 规则原子映射配置表
     */
    private List<AfsRuleInputMapping> afsRuleInputMapping;

    /**
     * 三元表达式左右原子信息
     */
    private List<AfsRuleExpressAtom> afsRuleExpressAtom;

    /**
     * 配置项三元表达式信息
     */
    private List<AfsRuleExpress> afsRuleExpress;
}